<?php
/**
 * This file is part of the Yacms (http://www.yacms.org)
 * Copyright (c) 2019 gylr0505 (http://www.yacms.org)
 *
 * Author: 鬼一浪人 <gylr0505@163.com>
 *
 * DateTime: 19-10-24 下午8:54
 * Description:
 */
 
declare(strict_types = 1);

namespace App\Model\Entity;

use Swoft\Db\Annotation\Mapping\Column;
use Swoft\Db\Annotation\Mapping\Entity;
use Swoft\Db\Annotation\Mapping\Id;
use Swoft\Db\Eloquent\Model;

/**
 * Class Template
 * @Entity(table="templates")
 * @package App\Model\Entity
 */
class Template extends Model
{
    /**
     * @Id(incrementing=true)
     *
     * @Column(name="id", prop="id")
     * @var int|null
     */
    private $id;
    /**
     * @Column(name="identification")
     * @var string
     */
    private $identification;
    /**
     * @Column(name="type")
     * @var string
     */
    private $type;

    /**
     * @Column(name="app_id")
     * @var string
     */
    private $appId;

    /**
     * @Column(name="title")
     * @var string
     */

    private $titile;

    /**
     * @Column(name="data")
     * @var string
     */

    private $data;

    /**
     * @Column(name="template_id")
     * @var string
     */
    private $templateId;

    /**
     * @Column(name="page")
     * @var string
     */
    private $page;

    /**
     * @Column(name="notify_url")
     * @var string
     */
    private $notifyUrl;

    /**
     * @Column(name="cycles")
     * @var int
     */

    private $cycles;

    /**
     * @Column(name="status")
     * @var int
     */

    private $status;

    /**
     * @Column(name="interval_frequency")
     * @var int
     */
    private $intervalFrequency;
    /**
     * @Column(name="created_at")
     * @var string
     */

    private $createdAt;

    /**
     * @Column(name="updated_at")
     * @var string
     */
    private $updatedAt;

    /**
     * @return int|null
     */
    public function getId(): ?int
    {
        return $this->id;
    }

    /**
     * @param int|null $id
     */
    public function setId(?int $id): void
    {
        $this->id = $id;
    }
    /**
     * @return int|null
     */
    public function getAppId()
    {
        return $this->appId;
    }

    /**
     * @param $app_id
     */
    public function setAppId($app_id)
    {
        $this->appId = $app_id;
    }

    /**
     * @return null|string
     */
    public function getTitle(): ?string
    {
        return $this->titile;
    }

    /**
     * @param null|string $title
     */
    public function setTitle(?string $title): void
    {
        $this->titile = $title;
    }

    public function getTemplateId()
    {
        return $this->templateId;
    }

    public function setTemplateId($template_id)
    {
        $this->templateId = $template_id;
    }

    /**
     * @return string
     */
    public function getNotifyUrl()
    {
        return $this->notifyUrl;
    }

    /**
     * @param $notify_url
     */
    public function setNotifyUrl($notify_url)
    {
        $this->notifyUrl = $notify_url;
    }

    /**
     * @return string
     */
    public function getStatus()
    {
        return $this->status;
    }

    /**
     * @param $status
     */
    public function setStatus($status)
    {
        $this->status = $status;
    }

    /**
     * @return string
     */
    public function getPage()
    {
        return $this->page;
    }

    /**
     * @param $page
     */
    public function setPage($page)
    {
        $this->page = $page;
    }

    /**
     * @return string
     */
    public function getIdentification()
    {
        return $this->identification;
    }

    /**
     * @param $identification
     */
    public function setIdentification($identification)
    {
        $this->identification = $identification;
    }

    /**
     * @return string
     */
    public function getType()
    {
        return $this->type;
    }

    /**
     * @param $type
     */
    public function setType($type)
    {
        $this->type = $type;
    }

    /**
     * @return string
     */
    public function getData()
    {
        return $this->data;
    }

    /**
     * @param $data
     */
    public function setData($data)
    {
        $this->data = $data;
    }

    /**
     * @return string
     */
    public function getCreatedAt()
    {
        return $this->createdAt;
    }

    /**
     * @param $created_at
     */
    public function setCreatedAt($created_at)
    {
        $this->createdAt = $created_at;
    }

    /**
     * @return string
     */
    public function getUpdatedAt()
    {
        return $this->updatedAt;
    }

    /**
     * @param $updated_at
     */
    public function setUpdatedAt($updated_at)
    {
        $this->updatedAt = $updated_at;
    }

    /**
     * @return int
     */
    public function getIntervalFrequency()
    {
        return $this->intervalFrequency;
    }

    /**
     * @param $interval
     */
    public function setIntervalFrequency($interval)
    {
        $this->intervalFrequency = $interval;
    }

    /**
     * @return int
     */
    public function getCycles()
    {
        return $this->cycles;
    }

    /**
     * @param $cycles
     */
    public function setCycles($cycles)
    {
        $this->cycles = $cycles;
    }
}